home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / tools / czesc_3 / scrammer / scrammer.doc < prev    next >
Text File  |  1992-06-08  |  16KB  |  400 lines

  1.  
  2.                   SCRAMmer V37.2 - June,7th 1992
  3.                   ------------------------------
  4.  
  5.               Copyright (c) by Giuliano C. Peritore
  6.                        All Rights Reserved
  7.  
  8.                             Written by:
  9.                        Giuliano C. Peritore
  10.                           Via Amaseno, 6
  11.                            04100 Latina
  12.                               ITALY
  13.  
  14.                       Phone: (+39)773 491692
  15.  
  16.                      E-Mail: mc6040@mclink.it
  17.  
  18. ATTENTION!
  19. ----------
  20. 1) Turning on Page Detect mode on non SCRAM chips will  probably
  21.    break down the system.  You have to reboot.  You are advised.
  22. 2) Turning off Write Allocate will cause trouble.  You  have  to
  23.    reboot.  You are advised.
  24. 3) Causing a Timeout  when  Timeouts  are disabled will hang the
  25.    system.  You have to reboot.  You are advised.
  26. 4) Avoid playing with Refresh  Rate  gadgets.  It will cause you
  27.    a lot of trouble.  You are advised.
  28. 5) BERR timeout will be set when SCRAMmer is invoked if DSACK is
  29.    not requested.
  30. 6) Avoid disk activity while using SCRAMmer until you are pretty
  31.    much experienced.
  32. 7) The modification of system parameters allowed by SCRAMmer  is
  33.    not  well  accepted  from Commodore, because some A3000s have
  34.    problems with the Ramsey chip.  I made this program  to  have
  35.    an utility which allows to read and modify this parameters in
  36.    order to play with them and  find  if  I  can  set on special
  37.    modes and get a speed gain.  Since I had no  problems with my
  38.    A3000 I think that this is a good idea.  So if  you  want you
  39.    can try to get a speed improvement, but  you  are on your own
  40.    risk.  And remember: if Commodore says "Don't do it" there is
  41.    a valid reason.  You are advised.
  42.  
  43.  
  44. DISCLAIMER
  45. ----------
  46.    The author  has no  responsibilities for incidents or damages
  47. that may result  from the  correct  or  incorrect  use  of  this
  48. program.  You are on your own risk.
  49.  
  50.  
  51. NOTES
  52. -----
  53.    Owing to the particular functions of this  program  an A3000,
  54. with its 68030 CPU and custom chips is strictly required.  SCRAM
  55. chips are recommended but not needed.  Remember that the manipu-
  56. lation of special system parameters should be done  through  the
  57. OS.  I've done it when possible.  This application  should  also
  58. have a very well behavior under 2.04 (required) since  I  had no
  59. problems with it and I coded it very carefully.
  60.    The application opens on the Workbench screen or on a default
  61. Public Screen if it Hijacks Workbench.  The  default  monospaced
  62. shell font will be used, falling on topaz 8 if it is too big.
  63.    Owing to the high number of gadgets the  application requires
  64. at least a 640x256 screen  to work properly but don't be  afraid
  65. to try it on a smaller screen or via the Shell.
  66.  
  67.  
  68. IMPORTANT
  69. ---------
  70.    This program is in the Public Domain so it may be distributed
  71. freely as long as this archive remains intact,  the  program  is
  72. not modified, and that no profit is gained from its distribution
  73. without written permission of the author.  If the reports of the
  74. program are used anywhere please tell  that  they  are  SCRAMmer
  75. reports and state the version.  Software  and Hardware companies
  76. may include this program on their disks.
  77.    Donations (software, hardware, money, ecc.) are very welcomed
  78. togheter with comments, suggestions, bugs, infos and so on.
  79.  
  80.  
  81. INTRODUCTION
  82. ------------
  83.    The idea of writing SCRAMmer prompted suddendly while  I  was
  84. following  a  debate on A3000 ram chips on MC-Link.  I  want  to
  85. thank  Paolo Baliano, Stefano Iacus, Massimiliano Marras,   Bal-
  86. dassarre Profeta and Andrea Suatoni for allowing this debate.
  87.    Since there are a lot of tricks to  get more performance from
  88. an Amiga and that there are  a  lot  of  tools to do  this (VBR,
  89. SetRamsey, Cpu, SetCPU, etc. )  I  decided  to  write  a  unique 
  90. testing  and  setting tool to allow  users to set crucial system
  91. parameters and test their Ram to see improvements.
  92. SCRAMmer is also a powerful tool to know much  more  about  your
  93. wonderful Amiga 3000.
  94.    This program  is completely fruit of my mind since I get only
  95. ideas from other programs, but I recoded EVERYTHING from scratch
  96. adding many and many new features togheter with 2.04 support and
  97. a consistent and font-sensitive user interface.
  98.  
  99.  
  100. USING SCRAMMER
  101. --------------
  102.  
  103. Note:
  104. -----
  105.    This program digs deeply into your system and  it  is easy to
  106. misunderstand its functions.  There's a lot to talk about.
  107. Please read instructions carefully.
  108.  
  109.  
  110. Running SCRAMmer V37.2 from the Shell:
  111. --------------------------------------
  112.    SCRAMmer has a lot of arguments.  Type SCRAMmer ? to see  its
  113. syntax, reported here for completeness:
  114.  
  115. SHOW/S,DATACACHE/S,NODATACACHE/S,DATABURST/S,NODATABURST/S,
  116. DATAFREEZE/S,NODATAFREEZE/S,INSTCACHE/S,NOINSTCACHE/S,
  117. INSTBURST/S,NOINSTBURST/S,INSTFREEZE/S,NOINSTFREEZE/S,
  118. WRITEALLOCATE/S,NOWRITEALLOCATE/S,COPYBACK/S,NOCOPYBACK/S,
  119. PAGEDETECT/S,NOPAGEDETECT/S,BURST/S,NOBURST/S,WRAP/S,NOWRAP/S,
  120. REFRESH/K/N,NOREFRESH/S,VBRFAST/S,VBRCHIP/S,TIMEOUT/S,
  121. NOTIMEOUT/S,BERRTIMEOUT/S,DSACKTIMEOUT/S,BANK/K/N,SCRAMTEST/S,
  122. FASTTEST/S,CHIPTEST/S,DOTIMEOUT/S,GUI/S,PRINT/S,ABOUT/S
  123.  
  124. Here's a description:
  125.  
  126. SHOW            - Show a report of all system parameters
  127. DATACACHE       - Enable Data Cache
  128. NODATACACHE     - Disable Data Cache
  129. DATABURST       - Enable Data Burst
  130. NODATABURST     - Disable Data Burst
  131. DATAFREEZE      - Freeze Data Cache
  132. NODATAFREEZE    - Free Data Cache
  133. INSTCACHE       - Enable Instruction Cache
  134. NOINSTCACHE     - Disable Instruction Cache
  135. INSTBURST       - Enable Instruction Burst
  136. NOINSTBURST     - Disable Instruction Burst
  137. INSTFREEZE      - Freeze Instruction Cache
  138. NOINSTFREEZE    - Free Instruction Cache
  139. WRITEALLOCATE   - Enable Write Allocate
  140. NOWRITEALLOCATE - Disable Write Allocate
  141. COPYBACK        - Enable copyback
  142. NOCOPYBACK      - Disable copyback
  143. PAGEDETECT      - Enable Page Detect Mode
  144. NOPAGEDETECT    - Disable Page Detect Mode
  145. BURST           - Enable Burst Mode
  146. NOBURST         - Disable Burst Mode
  147. WRAP            - Enable Wrap Mode
  148. NOWRAP          - Disable Wrap Mode
  149. REFRESH n       - Enable refresh (0-154,1-238,2-380,3-Off)
  150. NOREFRESH       - Disable RAM refresh
  151. VBRFAST         - Move VBR to FAST memory
  152. VBRCHIP         - Move VBR to CHIP memory
  153. TIMEOUT         - Enable bus Timeout
  154. NOTIMEOUT       - Disable bus Timeout
  155. BERRTIMEOUT     - Set BERR timeout
  156. DSACKTIMEOUT    - Set DSACK timeout
  157. BANK n          - Select RAM bank for tests (0-1-2-3)
  158. SCRAMTEST       - Test if bank is SCRAM
  159. FASTTEST        - Test FAST memory (current bank)
  160. CHIPTEST        - Test CHIP memory
  161. DOTIMEOUT       - Cause a bus timeout
  162. GUI             - Use Graphical User Interface
  163. PRINT           - Print report on printer
  164. ABOUT           - Show info about the program
  165.  
  166. That's all.  See below for function-by-function explanation.
  167.  
  168.  
  169. Running SCRAMmer V37.2 from the Workbench:
  170. ------------------------------------------
  171.    Just click on SCRAMmer icon.  This will show up the GUI.
  172.    Click on gadgets, press right mouse button or the  Help  key,
  173. or click on closewindow to exit.
  174.    May be there are problems with 640x200 screens.  Try a bigger
  175. screen !
  176.  
  177. Understanding SCRAMmer
  178. ----------------------
  179.    SCRAMmer allows you to show up a lot of system parameters and
  180. to modify them.  It is very easy to play using the GUI or  using
  181. the Shell interface.  But it is very important that  you  under-
  182. stand what you are doing.  SCRAMmer is logically divided in some
  183. regions,  each  regarding a specific class of parameters.  Let's
  184. describe them all.
  185.  
  186.  
  187. CPU & FPU
  188. ---------
  189.    The CPU (Central  Processing  Unit) and  FPU (Floating  Point
  190. Unit) are the core of your computer, so it is important to  know
  191. that your system recognized what CPU and FPU are installed.
  192. SCRAMmer show this.  There  are  a  lot of adjustable parameters
  193. regarding the CPU.  They are data and  instruction caches, which
  194. speed  up  the  software  reducing  memory  accesses, the  Write
  195. Allocation and the Copyback mode (provided also on the 68040).
  196. For more info about these  parameters  please  consult  Motorola
  197. manuals.
  198.    For the maximum  speed  you  should  enable  caches,  bursts,
  199. copyback and (I suppose) disable Write Allocate.
  200.    Remember anyway that Write Allocate causes a lot of  problems
  201. on standard A3000 when disabled, that Copyback may cause trouble
  202. to bad written programs, togheter with caches.  You are advised.
  203.  
  204.  
  205. RAMSEY
  206. ------
  207.    The Ramsey chip is the  memory  controller of the A3000.  The
  208. program  will  show  which  type  of Ramsey is installed in your
  209. computer and its settings.  You can enable or disable  the  Page
  210. Detect Mode, which is a special mode that takes  advantage  from
  211. the presence of SCRAMS  boosting  system  performance.  You  can
  212. enable or disable the Burst Mode, which  allows  the CPU to fill
  213. its cache very efficiently, or you can  enable  or  disable  the
  214. Wrap mode, which depending  on  the  application  will  optimize
  215. burst transfers.
  216.    SCRAMmer will show also  which  memory Chips are used in your
  217. Amiga.  You  could  also  change  the  refresh  rate,  but it is
  218. discouraged.
  219.  
  220.  
  221. GARY
  222. ----
  223.    The Gary chip is the bus controller of  the  A3000.  SCRAMmer
  224. will show which  Gary  is  installed  in  your  system  and  its
  225. settings.  It shows  if  there  have  been  timeouts  or  if the
  226. computer has just cold-booted or it has been resetted.
  227.    It  is  also  possible  to  enable/disable  the  bus  timeout
  228. feature which terminates accesses to non existent memory without
  229. hanging the system.  You can  decide  to  terminate  via BERR or
  230. via DSACK.
  231.    Note that the Timeout/Boot flags are reset  every  time  they
  232. are read so you can miss something.
  233.    Beware of disabling timeout.  Accesses to non existent memory
  234. will hang the system.
  235.  
  236.  
  237. VBR
  238. ---
  239.    The Vector Base Register is the interrupt table  of  the CPU.
  240. Putting it in FAST ram will improve system  throughput  speeding
  241. up interrupt driven operations such as serial  downloads, vblank
  242. processing and so on.  It will not improve tests results because
  243. interrupts are disabled during the test.
  244.  
  245.  
  246. DENISE & AGNUS
  247. --------------
  248.    These section show which Agnus and Denise chips are installed
  249. in your A3000.  Useful for checking ECS and PAL/NTSC.
  250.  
  251.  
  252. TESTS & MEMORY INFO
  253. -------------------
  254.    The test section allows to perform some tests  whose  results
  255. are shown in the Memory Info section.  The memory  info  section
  256. will show (in microseconds) the time that  is needed to read and
  257. write in Chip and Fast memory about 12MB per test.
  258.    These test are very perilous  for  time  critical  activities
  259. such as serial download, disk activity and so on.  Beware !
  260.    The Bank button allows you to choose  on  which  Fast  Memory
  261. bank (of the four of your A3000) you want to perform the test.
  262.    The SCRAM Test checks if your bank is  populated  with  SCRAM
  263. memory.  Note  that  if you  haven't  SCRAMs  you  may  hang the
  264. system  and  have  to  reboot because the test will corrupt FAST
  265. memory if not SCRAM.  If there is no memory in that bank it will
  266. be correctly reported.
  267.    The Fast Speed and Chip Speed perform a test on the speed  of
  268. read and write operations  on  Fast ( selected bank )  and  Chip
  269. memory.  See below for additional infos on the test.
  270.    If the Fast Speed is performend  on  non existent memory then
  271. meaningless results are reported.  Changing  the  Bank will zero
  272. previous results.
  273.    The Timeout gadget will cause a timeout to  check  if  it  is
  274. correctly reported and processed.  It  causes  two  timeouts  by
  275. reading  two longs at $08000000  and  $0c000000.  Note  that  if
  276. timeout is disabled you'll hang the system.
  277.    Don't disable timeout if you plan to call the Fast Speed test
  278. on an empty Fast Ram bank (which is meaningless).
  279.  
  280.  
  281. About
  282. -----
  283.    Pressing the right mouse button or the Help key will pop up a
  284. small window with credits and informations about SCRAMmer.
  285.  
  286.  
  287. Scrammer Uses
  288. -------------
  289.    You can use SCRAMmer in your startup-sequence to  set  system
  290. parameters  at  boot time, for example with "SCRAMmer  DATACACHE
  291. DATABURST INSTCACHE INSTBURST PAGEDETECT WRAP BURST VBRFAST".
  292.    You can put SCRAMmer in your hard disk to call it via the  WB
  293. or via the Shell when you need it.  You can use SCRAMmer to test
  294. memory and systems in many configuration to have clearer ideas.
  295.    Good Luck !
  296.  
  297.  
  298. FINAL NOTE
  299. ----------
  300.    You may ask why there are a lot of options very dangerous  in
  301. this program.  Many of them aren't correctly supported  now  but
  302. thay have been included because I always hope of  future  better
  303. Amigas supporting all this.  For example I think that  who has a
  304. 68040 with Copyback enabled may safely turn of Write Allocate.
  305.    Other tools are useful  for  testing  purposes.  If  you  are
  306. designing a new board and  you  want  investigate  if  it  works
  307. correctly on the bus you  can  disable  timeout  and  call  your
  308. board.  It system hangs then your board is wrong.  Moreover  the
  309. SCRAM test is  important,  because you  can  get  benefits  from
  310. SCRAMs, and during the SCRAM  test  is  impossible  to  preserve
  311. eventual PAGE ram.  That's why you have to reboot.
  312.  
  313.  
  314. THE SPEED TEST
  315. --------------
  316.    The speed test disables interrupts and DMAs  and  performs  a
  317. cycle reading and writing about 12 megabytes of data  in  memory
  318. using  the  instruction cache if enabled.  The  read  and  write
  319. operations  are  grouped in  groups  of  four  longword  aligned
  320. longword accesses.  The test  reports the  microseconds  elapsed
  321. during the operation (using the timer.device).
  322.    Note that this kind of test won't show benefits derived  from
  323. VBR, Wrap, and possibly Burst.
  324.    Maybe this is a good test, maybe  it's not.  But you are sure
  325. that it's not addomesticated. Other ideas will be well accepted.
  326.  
  327.  
  328. PLANNED IMPROVEMENTS
  329. --------------------
  330.    The following  features will  be  added  if  I receive enough
  331. return and support:
  332.  
  333.    - Iconification
  334.    - Public Screen support improved
  335.    - Improved Tests
  336.    - On-Line Help
  337.    - Chip routines will report chip numbers if unknown
  338.    - Keyboard equivalents for gadgets
  339.  
  340.  
  341. REPORTS
  342. -------
  343.    I'd like very much to receive your  reports.  Please  include
  344. full SCRAMmer output and  the  complete  specification  of  your
  345. system.  Please include your best  performace reports or as many
  346. as you can.  The report should be formed by:
  347.    - Description of your system
  348.    - Showconfig output
  349.    - Multiple SCRAMmer output
  350. delimited by appropriate separators.  See example below.
  351.  
  352.  
  353. REPORTS FOLLOW
  354. --------------
  355. System:  A3000 B2 Rev 9/01
  356. ChipRAM: 2MB TC514258AP-80 SCRAM DIP
  357. FastRAM: 4MB TC514402Z -80 SCRAM ZIP
  358. /*------------------------------------------------------------------*/
  359. CHIPS:  CPU 68030/68882fpu/68030mmu, ECS PAL Agnus, ECS Denise
  360. VERS:  Kickstart version 37.175, Exec version 37.132, Disk version 37.67
  361. RAM:  Node type $a, attribute $105 (FAST), from $7c00000 to $7f7ffff
  362.   Node type $a, attribute $303 (CHIP), from $400 to $1fffff
  363. BOARDS:
  364.  CBM Bridgeboard:   Prod=513/1($201/$1) (@$200000 512K)
  365. /*------------------------------------------------------------------*/
  366. SCRAMmer V37.2 - Copyright © 1992 Giuliano C. Peritore
  367.  
  368. CPU & FPU
  369. CPU:            68030  FPU:            68882
  370. Data Cache:     On   Data Burst:     On   Data Freeze:    Off
  371. Inst Cache:     On   Inst Burst:     On   Inst Freeze:    Off
  372. Write Allocate: On   Copyback:       Off
  373.  
  374. VBR
  375. At: ($7c3f6f8) FAST
  376.  
  377. RAMSEY
  378. Chip:           Normal
  379. Page Detect:    On   Burst:          On   Wrap:           On 
  380. Refresh Rate:   238 clocks
  381. RAM Chips:      1 Meg by 4 Bit
  382.  
  383. GARY
  384. Chip:           Normal
  385. Boot:           Warm  Timeout:        On   Timeouts:       No 
  386.  
  387. DENISE
  388. Chip:           ECS
  389.  
  390. AGNUS
  391. Chip:           ECS PAL 8372
  392.  
  393. TESTS REPORT
  394. Bank:              0
  395. Fast Read:    840000
  396. Fast Write:   740001
  397. Chip Read:   2880000
  398. Chip Write:  1780000
  399. /*------------------------------------------------------------------*/
  400.